package com.huzz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huzz.entity.SysMenu;
import com.huzz.model.MenuModel;
import com.huzz.vo.MenuVO;
import com.huzz.util.body.DataBox;

import java.util.List;

/**
 * @Name 名称
 * @Description 描述
 * @Author 童年的纸飞机
 * @Since 2023-04-2023/4/27 15:24
 */
public interface ISysMenuService extends IService<SysMenu> {

    /**
     * 创建菜单
     * @param menuModel
     * @return
     */
    DataBox<String> createMenu(MenuModel menuModel);

    /**
     * 查询菜单分页列表
     *
     * @param pageNum
     * @param pageSize
     * @param menuModel
     * @return
     */
    IPage<MenuVO> findMenuListPage(Integer pageNum, Integer pageSize, MenuModel menuModel);

    /**
     * 编辑菜单
     * @param menu
     * @return
     */
    DataBox<String> updateMenuById(SysMenu menu);

    /**
     * 删除菜单
     * @param id
     * @return
     */
    DataBox<String> removeMenuById(Integer id);

    /**
     * 根据userId查询菜单树型列表
     * @param userId
     * @return
     */
    List<MenuVO> findMenuVOTreeListByUserId(Integer userId);

}
